// index.js
/* app.js: 小程序初始化js；
app.json: 小程序配置文件，如：导航，窗口，各页面引入；
app.wxss: 小程序公共样式;
各个页面：
Pages：各个子页面以js+json+wxml+wxss组成，方便管理，右边可快捷生成page; 
Pages：每一个子页面都需要写到这个数组里，其实就是路由引入；
Window：系统配置，包括标题，标题颜色，标题背景等（如果不设置分页面配置则默认全覆盖）；
Tabbar：官方提供的导航功能，可以设置导航栏，list为导航数组，存放导航项、color为字体颜色、selectedcolor为选中颜色、backgroundcolor为背景颜色；
globaldata为全局变量
如果要使用请在对应page.js引入：const app = getApp();*/
//import mqtt from '../../utils/mqtt'


Page({
  data: {
    username: "手机号",
    userpws: "",
    yhpanDuan: false,
    mmpanDuan: false
  },
  /*事件处理*/
  onLoad() {
    //this.connectmqtt()
    //this.panDuan()
  },
  username: function (e) { //获取第一个文本用户名,username接收
    if (e.detail.value != "") {
      if (!(/^1[3456789]\d{9}$/.test(e.detail.value))) //匹配手机号
      {
        this.setData({
          yhpanDuan: false
        })
      } else {
        console.log('是手机号')
        this.setData({
          username: e.detail.value,
          yhpanDuan: true
        })

      }
    }
  },
  password: function (e) { //获取第二个文本密码，userpws接收
    if (e.detail.value != "") {
      this.setData({
        userpws: e.detail.value,
        mmpanDuan: true
      })
    } else {
      this.setData({
        userpws: "",
        mmpanDuan: false
      })
    }
  },

  baocun: function (e) {
    //this.username()
    //this.password()
    if (this.data.yhpanDuan && this.data.mmpanDuan) {
      console.log('保存数据')
      //wx.setStorageSync('mc', this.data.username)
      //wx.setStorageSync('ma', this.data.userpws)
      wx.setStorage({
        key: "mc",
        data: this.data.username
      })
      wx.setStorage({
        key: "ma",
        data: this.data.userpws
      })
    }
  },
  ble_bt: function (e) {
    /*可以保留原页面的状态，用户返回时可以继续操作;每次跳转都会创建新页面，可能会占用较多的内存资源。。*/
    /*
    wx.navigateTo({
        url: '../zc/zc'
    })
    */
    /**可以直接关闭当前页面，减少内存占用。;无法保留原页面的状态，用户返回时会重新加载页面。 */
    /*
     wx.redirectTo({
       url: '../blebt/blebt'
     })
 */
    /**可以清空页面栈，减少内存占用 ;无法保留原页面的状态，用户返回时会重新加载页面。*/

    wx.reLaunch({
      url: '../blebt/blebt'
    })

    console.log('跳转2')

  },

  denglu: function (e) {
    this.baocun()
    console.log('跳转1')
    /*
    wx.switchTab({

        //url: 'pages/logs/logs?key="dengLu"'
        url: 'pages/logs/logs'
      })
    if(this.data.yhpanDuan && this.data.mmpanDuan) {
      console.log('跳转1')
      wx.reLaunch({ 
        //url: 'pages/logs/logs?key="dengLu"'
        url: 'pages/logs/logs'
      })
      console.log('跳转')
      }  
      
    /*
    wx.reLaunch({ 
      //url: 'pages/logs/logs?key="dengLu"'
      url: 'pages/logs/logs'
    })*/
  },
  cs: function (e) {
    wx.reLaunch({
      url: '../abc/abc'
    })

    console.log('跳转到测试页')

  }

})





function inArray(arr, key, val) {//inArray(foundDevices, 'deviceId', device.deviceId)
  for (let i = 0; i < arr.length; i++) {
    if (arr[i][key] === val) {
      return i;
    }
  }
  return -1;
}

// ArrayBuffer转16进度字符串示例
function ab2hex(buffer) {
  var hexArr = Array.prototype.map.call(
    new Uint8Array(buffer),
    function (bit) {
      return ('00' + bit.toString(16)).slice(-2)
    }
  )
  return hexArr.join('');
}
// 字符串转byte
function stringToBytes(str) {
  console.log('zzz0006')
  var array = new Uint8Array(str.length)
  for (var i = 0, C = str.length; i < C; i++) {
    array[i] = str.charCodeAt(i)
    //console.log(array[i])
  }
  //console.log(array)
  return array.buffer;
}
function stringToBytes1(str) {
  str = unescape(encodeURIComponent(str))
  for (var bytes = [], i = 0; i < str.length; i++)
    bytes.push(str.charCodeAt(i) & 0xFF);
  return bytes;
}
//字符串转ArrayBuffer
function str2ab(str) {
  var buf = new ArrayBuffer(str.length); // 每个字符占用2个字节
  var bufView = new Uint8Array(buf);// Uint8Array可换成其它
  for (var i = 0, strLen = str.length; i < strLen; i++) {
    bufView[i] = str.charCodeAt(i);
  }
  console.log(bufView)
  console.log(buf)
  console.log('00000-2')
  return buf;
}

//字符串转Uint8Array
function str2ab1(str) {
  var bufView = new Uint8Array(str.length);// Uint8Array可换成其它
  for (var i = 0, strLen = str.length; i < strLen; i++) {
    bufView[i] = str.charCodeAt(i);
  }
  console.log(bufView)
  console.log('00000-3')
  return bufView;
}